// Copyright personal possession of Nguyen Minh Kha
// Datetime: 07:17PM 10/28/2011
// Discription: This is an interface for any moving object in game.
// Licencse: Free source
// Version: 1.0
// Writer: Nguyen Minh Kha

/* Google opensource coding standard with variable name exception */

#ifndef GAMEFRAMEWORK_MOVEABLE_INTERFACE_H_
#define GAMEFRAMEWORK_MOVEABLE_INTERFACE_H_

class MoveableInterface {

public:

  //
  // Horizon direction
  //
  enum DirectionH {
    LEFT,
    RIGHT
  };

  // 
  // Vectical direction
  //
   enum DirectionV {
    UP,
    DOWN
  };

   virtual void MoveLeft() = 0;
   virtual void MoveRight() = 0;
   virtual void MoveUp() = 0;
   virtual void MoveDown() = 0;

protected:
  int acerlerateH;
  int acerlerateV;
  int velocityH;
  int velocityV;
  int limitSpeedH;
  int limitSpeedV;
};

#endif  // GAMEFRAMEWORK_MOVEABLE_INTERFACE_H_